岁末年初,为你打包了一份技术合订本
“Show me the code”有时并不足够,你还需要注释辅助去深入理解代码背后的思想和逻辑。
作为一个开源社区,OneFlow不止希望通过公开的源码与开发者和用户交流,还希望通过一篇篇技术博客分享和检验我们的想法,分享OneFlow做了什么以及为什么这样做,如何才能做到“最好”,以及分析深度学习框架乃至AI行业的发展趋势。
为了回答上述问题,2021这一年,OneFlow公号持续向开发者分享了近60篇技术内容。其中绝大部分都是OneFlow团队出产的原创文章,部分则是其他作者慷慨授权的编译转载内容。
它们主要包括深度学习框架解析、最新技术实践、行业趋势观点,技术创新的产生和发展,以及OneFlow开发者的程序人生故事。我们相信,这些内容能让读者更好地了解深度学习框架和相关AI技术,更重要的是促进社区的各种思维和观点的碰撞,激发出更好的技术创新。
写作这些内容并非易事,但我们尽可能做到独特、有信息增量,是读者朋友所喜闻乐见的,一如我们开发OneFlow框架的技术追求。
读者朋友的积极探讨和反馈,是我们能持续分享高价值内容的最大动力。新的一年,更多高品质内容正在打磨中,OneFlow将继续分享我们所理解的技术世界。
以下是OneFlow社区在2021年发布的重要内容汇总:
最好的分布式框架究竟是怎样的
大数据、大模型持续发展的背景下,开发者们越来越感到原有深度学习框架“不够用了”。关于下一代深度学习框架形态的讨论已摆上台面,OneFlow创始人袁进辉通过以下文章分析了原有框架面临的桎梏,为什么亟需OneFlow这样的新一代深度学习框架,以及最易用、效率最高的分布式框架如何演进。
浅谈GPU虚拟化和分布式深度学习框架的异同 再谈“去虚拟化”对深度学习系统的必要性 如何超越数据并行和模型并行:从GShard谈起 训练GPT-3,为什么原有的深度学习框架吃不消 最理想的点到点通信库究竟是怎样的 对抗软件系统复杂性③:恰当分层,不多不少 对抗软件系统复杂性②:全局一致,统一隐喻 对抗软件系统复杂性①:如无必要,勿增实体 动态调度的“诅咒”| 原有深度学习框架的缺陷③ 数据搬运的“诅咒” | 原有深度学习框架的缺陷② 资源依赖的“诅咒” | 原有深度学习框架的缺陷① 如何简单理解1.6万亿参数的Switch Transformer
框架的架构设计
基于Actor、SBP、流式调度等先进的分布式系统架构设计及理念,OneFlow做到了“人有我优、人无我有”的极致高效性。
GPT-3模型为何难以复现?这也许是分布式AI框架的最优设计 一个Job在OneFlow中的执行过程(上) 一个Job在OneFlow中的执行过程(中) 一个Job在OneFlow中的执行过程(下) 深度学习框架OneFlow是如何和ONNX交互的 为OneFlow添加新的前端语言
框架技术实践
今年OneFlow框架全力攻关一个重点是单机单卡的易用性体验,OneFlow v0.5.0发布后,eager模式已对齐PyTorch,常用的模型库、算子都有了,更多算子正在添加中,万一缺少你想要的算子,别忘了在GitHub上提个issue。
对齐PyTorch,一文详解OneFlow的DataLoader实现 以OneFlow为例探索MLIR的实际开发流程 用OneFlow实现基于U型网络的ISBI细胞分割任务 深度学习框架量化感知训练的思考及OneFlow的解决方案 基于OneFlow实现量化感知训练 用OneFlow实现数据类型自动提升 后向重计算在OneFlow中的实现:以时间换空间,大幅降低显存占用 OneFlow框架添加算子实践:expand和repeat 以OneFlow为例梳理深度学习框架的那些插值方法 OneFlow中的错误处理:Maybe InsightFace:用OneFlow轻松实现超大规模人脸识别模型 快过HugeCTR:用OneFlow轻松实现大型推荐系统引擎
与框架相关的技术
每次看到那些写透一个技术点或极具前瞻性观点的文章,多数人会有“看这一篇就够了”的满足感。好的技术综述文章也是这样。
CUDA优化实践
CUDA入门的文章市面上层出不穷,但关于深度调优的内容比较稀缺。该系列的首篇文章一经发布,CUDA小分队就收到了诸多读者的连环催更要求。
如何实现一个高效的Softmax CUDA Kernel OneFlow CUDA Elementwise模板库的设计优化思路 CUDA优化之LayerNorm性能优化实践 如何设置CUDA Kernel中的grid_size和block_size 基于OneFlow实现Unfold、Fold算子 如何实现比PyTorch快6倍的Permute/Transpose算子 CUDA高性能计算经典问题②:前缀和 CUDA高性能计算经典问题①:归约
科技星辰
如今的中国不乏满怀激情的创业者,遗憾的是,我们在底层硬科技的创新思维是固化的甚至是空白的,人们往往由于不知道如何创新而手足无措、望而生畏。因此,了解硬核技术的创新是如何发生的在这个时代尤为重要。追溯前人足迹,科技创新领域或许也需要一场“文艺复兴”。
OneFlow的开发者们
不同背景的人才组建了这支独特的OneFlow团队,他可能是你身边平时看起来并不起眼的同学、同事,但深入了解后你会发现那些你不知道的闪光之处。每个人的人生经历都如此不同,他们的经历也将在学习和工作中启发你我。我们也希望,通过分享这支年轻团队的故事联结更多同类一起并肩作战。
管张汇泓:一份邮件把我带到了开源世界 姚迟:新东方讲师到AI框架工程师 胡珈魁:00后工程师的AI进阶之路 李一鹏:一份让我无法拒绝的offer 徐之秋:从游戏启蒙的00后AI工程师 梁德澎:当一个炼丹师去做框架开发 张建浩:一个开源爱好者的框架开发之路 张晓雨:在这里找到热爱开源的理想状态 成诚:从实习生到OneFlow开发组负责人 吴文童:产品和开发者之间是相互作用的
上述文章作者:Andrej Karpathy、Amir Gholami、成诚、陈清扬、郭冉、柳俊丞、李新奇、刘明阳、李响、乔晶、吴娱、王金许、袁进辉、姚迟、郑泽康、张晓雨、张伟、张铁蕾、赵露阳、周泽楷
2022年,一起向未来。